home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Taifun / Taifun 109 (1989-08-15)(Ossowski, Stefan)(DE)(PD).zip / Taifun 109 (1989-08-15)(Ossowski, Stefan)(DE)(PD).adf / Includes / Amiga.ASM < prev    next >
Assembly Source File  |  2000-01-31  |  923b  |  74 lines

  1. ;
  2. ; Include-Datei für Standardprogramme
  3. ;
  4. _LVOFindTask      EQU -$0126
  5. _LVOWaitPort      EQU -$0180
  6. _LVOGetMsg        EQU -$0174
  7. _LVOReplyMsg      EQU -$017a
  8. _LVOForbid        EQU -$0084
  9.  
  10. PR_CLI     EQU 172
  11. PR_MsgPort EQU 92
  12.  
  13. CALLSYS:MACRO $\1
  14.  JSR _LVO\1(A6)
  15.  ENDM
  16.  
  17. LINKSYS:MACRO $\1,$\2
  18.  MOVE.L A6,-(SP)
  19.  MOVE.L \2,A6
  20.  JSR _LVO\1(A6)
  21.  MOVE.L (SP)+,A6
  22.  ENDM
  23.  
  24. INIT_AMIGA:MACRO
  25.  
  26.  MOVE.L SP,Initial_SP
  27.  MOVE.L 4,A6
  28.  MOVE.L A6,ExecBase
  29.  SUBA.L A1,A1
  30.  CALLSYS FindTask
  31.  MOVE.L D0,Own_Task
  32.  
  33. ; Start from Workbench ?
  34.  
  35.  MOVE.L D0,A4
  36.  TST.L PR_CLI(A4)
  37.  BNE.S \1
  38.  
  39. ; Hole Message
  40.  
  41.  LEA PR_MsgPort(A4),A0
  42.  CALLSYS WaitPort
  43.  LEA PR_MsgPort(A4),A0
  44.  CALLSYS GetMsg
  45.  MOVE.L D0,WBenchMsg
  46.  
  47. \1:
  48.  ENDM
  49.  
  50. EXIT_AMIGA:MACRO
  51.  
  52.  TST.L WBenchMsg
  53.  BEQ.S \1
  54.  
  55.  CALLSYS Forbid
  56.  MOVE.L WBenchMsg,A1
  57.  CALLSYS ReplyMsg
  58.  
  59. \1:
  60.  MOVEQ #0,D0
  61.  MOVE.L Initial_SP,SP
  62.  RTS
  63.  
  64.  BSS
  65. WBenchMsg:DS.L 1
  66. Own_Task:DS.L 1
  67. ExecBase:DS.L 1
  68. Initial_SP:DS.L 1
  69.  
  70.  TEXT
  71.  ENDM
  72.  
  73.  END